package va_file;

import java.io.IOException;

import global.RID;
import heap.HFBufMgrException;
import heap.HFDiskMgrException;
import heap.HFException;
import heap.InvalidTupleSizeException;
import heap.Scan;
import heap.Tuple;
import global.Vector100Dtype;

import java.util.ArrayList;
import java.util.Collections;

import va.BaseVAScan;
import va.BitSet;
import va.Range;
import va.VAEntry;

public class VAFileScan extends BaseVAScan {
	
	//Creates a VAFileScan Object.

	public VAFileScan(VAFile vf) throws InvalidTupleSizeException, IOException {
		this.fileScan = new Scan(vf);
	}
	
	/*
	 * Calls the default range scan with a file scanner
	 */
	public ArrayList<RID> VAFileRangeScan(Vector100Dtype target,int distance,int noOfBits) throws HFException, HFBufMgrException,
            HFDiskMgrException, IOException, InvalidTupleSizeException {
        return this.VARangeScan(target, distance, noOfBits);
	}

	/* Call the default NN scan with a file scanner
	*/
	public ArrayList<RID> VAFileNNScan(Vector100Dtype target,int count,int noOfBits) throws HFException, HFBufMgrException,
	HFDiskMgrException, IOException {
        return this.VANNScan(target, count, noOfBits);
    }

}
